#include "contadortiempo.h"

#include <QDebug>

ContadorTiempoQt::ContadorTiempoQt()
{
    inicializar();
}

void ContadorTiempoQt::inicializar()
{
    time.start();
}


int ContadorTiempoQt::getMilisegundosTranscurridos() const
{
    int ms = time.elapsed();
    //qDebug() << ms;
    return ms;
}

int ContadorTiempoQt::getSegundosTranscurridos() const
{
    return getMilisegundosTranscurridos() / 1000; 
}


ContadorTiempoWindows::ContadorTiempoWindows()
{
    inicializar();
}

void ContadorTiempoWindows::inicializar()
{
    QueryPerformanceFrequency(&ticksPorSegundo);
    QueryPerformanceCounter(&tickInicial);
}

unsigned long long ContadorTiempoWindows::getMicrosegundosTranscurridos() const
{
    LARGE_INTEGER tickActual;
    QueryPerformanceCounter(&tickActual);
    return (tickActual.QuadPart - tickInicial.QuadPart) / (ticksPorSegundo.QuadPart / 1000000);
}

unsigned long long ContadorTiempoWindows::getMilisegundosTranscurridos() const
{
    return getMicrosegundosTranscurridos() / 1000;
}

unsigned long long ContadorTiempoWindows::getSegundosTranscurridos() const
{
    return getMicrosegundosTranscurridos() / 1000000; 
}
